This invention relates generally to code generators, and more particularly to code generators for secure and/or spread spectrum communication, navigation and data handling systems. Such systems employ code generators for the purpose of encoding and decoding signals or information to deny access to unauthorized parties, and also to realize a processing gain to help reject the degrading effects of interfering signals or information. The code pattern produced by the code generator is in general structured as Pseudo Random Noise (PRN).
Conventional PRN code generators employ digital linear feedback shift registers to generate specific PRN code sequences. Several of these code sequences may be combined in a prescribed manner to produce a unique non-repeating code of greater length. To preset or initialize the code generator to some arbitrary code state in the sequence involves predicting or calculating the binary states of the shift registers. This calculation is not easily performed, and the conventional technique requires that the shift registers be initialized to a known (non-arbitrary) code state (such as the epoch or "all ones" state) and then sequentially advancing the shift registers (by clocking) through the required number of code chips or bits until the required code state has been derived.
The construction and application of linear feedback shift registers for code generation are fully described in "Spread Spectrum Systems", by R. C. Dixon, published by John Wiley and Sons, Inc., 1976.
A major disadvantage of this conventional technique is the significant amount of time required to initialize the code generator to an arbitrary code state corresponding to some particular point in the overall code pattern produced by the code generator. This initialization time represents lost or wasted time since no code can be produced during these times.